The present invention relates to a data communication system for transferring data between communication lines and computers in a multi-computer system.
An example of a data communication system of this type will be described with reference to FIG. 1 showing a computer network using a loop communication line for interconnecting computers. A data block (which will be hereinafter referred to as a "packet") having a length of about 1000 bits is exchanged between computers 1 via a communication line 2, and each of the computers 1 are connected to the communication line 2 by means of interface units 4, which are called "stations".
The format of the packet 5, as shown in FIG. 2, comprises a first portion 6 providing the station address (A) for designating the station which is to receive the packet, a second portion 8 providing a node address (N) for designating whether the message is for the computer itself or for a device connected thereto, and a third portion 9 providing the port address (P) for designating the output terminal of an imaginary transmission line in the computer 1 in case the message is for the computer itself. The remainder of the packet 5 consists of the message text.
The station 4 judges whether or not the packet 5, which has been sent through the communication line 2, is assigned to it, in accordance with the station address 6, when it receives the packet, and takes the packet 5 into the buffer of the station 4 if the packet 5 includes that station's address. After that, the computer 1 associated with that station 4 is interrupted so that the received packet is sent to the computer 1 in accordance with the program 7 in the computer.
The program 7 of the computer 1 determines from the node address 8 of the packet 5 whether the packet should be sent to the user program in the computer 1 or to one of the terminals 3 associated with the computer. In case the packet 5 is to be sent to the user program, it is distributed to the corresponding program in accordance with the port address 9. That is performed by determining the memory address at which to store that packet and by storing the packet at the memory location indicated by that address.
The program 7 generally requires 2000 to 8000 steps in order to perform the function described above. When the speed of the communication line 2 is improved so that the number of the packets 5 flowing through that line 2 is increased, difficulty in the program processing at the computer 1 takes place. If the time period for the program 7 to process one packet is assumed to be 4 ms (i.e., 2000 steps.times.2 .mu.s), for example, the packet processing capability of the computer 1 has its upper limit at 250 packets/s. Thus, for this reason, the data communication system according to the prior art has a drawback in that the processing overhead is very time consuming, so that even if the speed of the communication line 2 is high, the computer 1 cannot receive the data at the sending speed of that communication line.